Although power management has been an active field of research, the research effort has generally focused on system-level power management in general-purpose computing system paradigms premised on the availability of an uninterrupted supply of power. In contrast, embedded computing systems—such as smart monitoring data processing devices connected to an Internet of Things (IoT) network of other IoT devices—have specific challenges concerning intermittent availability of power, and managing data processing operations in view of diminishing availability of energy. For example, some IoT devices use energy harvesting, in which one or more of ambient heat, motion, or radio-frequency energy are used as an intermittent source of power. Energy harvesting offers an advantage in that harvesting machinery can be smaller than an internal battery, and it can provide energy indefinitely—far longer than the life span of a battery—provided that the intermittent source of power remains available.
Intermittent power often does not remain available. Although batteries and other types of energy storage used in conjunction with energy harvesting may extend the duration of the energy available, an intermittent source of power is still inherently unpredictable—a solar-powered device might be put in a drawer for months. For these reasons, energy harvesting has been attempted in a relatively narrow range of special-purpose devices that often include substantial energy storage designed to mitigate the challenges associated with intermittent availability of power. For example, some IoT devices include long-life batteries contributing much weight and bulk, which are undesirable attributes of wearables and other types of small sensor devices.
Thus, current small embedded systems using the paradigm of power management for general-purpose computing systems do not effectively manage computing and energy resources in the context of intermittent power for applications having predictable energy use.